package com.itany.corejava.code08_常用类.string;

/**
 * @author 石小俊
 * @version 1.0
 * @date 2023年03月16日 14:15
 */
public class Test12_StringBuffer {
    public static void main(String[] args) {
        // 创建一个StringBuffer类型的空字符串
        StringBuffer buffer = new StringBuffer();
        // 创建一个StringBuilder类型的字符串hello
        StringBuilder builder = new StringBuilder("hello");

        buffer.append("Hello")
                .append(" World");
        System.out.println(buffer);
        // 在索引3的位置插入指定字符串,原有的索引3的字符向后推移
        buffer.insert(3,"admin");
        System.out.println(buffer);

        // 删除索引3到索引7位置的字符,8不包含
        buffer.delete(3,8);
        System.out.println(buffer);

        // 删除索引4位置的字符
        buffer.deleteCharAt(4);
        buffer.insert(4,"o");
        System.out.println(buffer);

        buffer.setCharAt(5,'-');
        System.out.println(buffer);

        // 修改字符串长度
        // 1.当修改后的长度小于原来的长度,则直接舍去后面多余的
//        buffer.setLength(5);
        // 2.当修改后的长度大于原来的,会追加ASCII码为0的字符
        // 缺几个追加几个,其效果是一个缩小版的NUL,需要对应字体才会显示
        buffer.setLength(15);
        System.out.println(buffer);

        // 反转
        System.out.println(buffer.reverse());
        // 将一个StringBuffer类型转换成String
        // 转换后可以使用字符串方法
        String s =buffer.toString();
    }
}
